A number of people suggested that sending MiscString objects `bycopy' would work around the memory leak problem.
I am doing this now, and it does work, but I don't really like it, since now my objects only work when they're in a distributed objects server (since they free their incoming argument MiscString objects). Also, all my clients now have to remember to free any MiscString returned to them by the server.
I thought the whole point of the DO system was that you could use objects without having to worry all the time about whether they were local or remote.